﻿namespace SPTaxonomyClient.Taxonomy
{
	using System.Collections.Generic;

	/// <summary>
	/// Represent a set of <see cref="Term"/>
	/// </summary>
	public class TermSet
	{
		private IList<Term> _terms;
		
		/// <summary>
		/// The guid identifying the TermSet uniquely in the term store
		/// </summary>
		public string Id { get; set; }

		/// <summary>
		/// The label of the term set
		/// </summary>
		public string Title { get; set; }

		/// <summary>
		/// The optional description of the TermSet
		/// </summary>
		public string Description { get; set; }

		/// <summary>
		/// The optional email address of the contact associated with this TermSet
		/// </summary>
		public string ContactEmail { get; set; }

		/// <summary>
		/// The collection of terms in this TermSet
		/// </summary>
		public IList<Term> Terms
		{
			get { return _terms ?? (_terms = new List<Term>()); }
		}
	}
}
